package org.mathig.poker;

/**
 * Listen poker game on a table.
 * 
 * @author mathig
 * 
 */
public interface TableListener {

	void playerDetected(Context table, Player player);

	/**
	 * All players are detected, the game can start.
	 * 
	 * @param table
	 */
	void start(Context table);

	void nextHand(Context table);

	void preFlop(Context table);

	void flop(Context table);

	void turn(Context table);

	void river(Context table);

	void showDown(Context table);

	void playerOut(Context table, Player player);

	/**
	 * The winner is the last player : winner == table.getPlayers().get(0)<br>
	 * 
	 * @param table
	 */
	void end(Context table, Player winner);

}
